const fs = require("fs");

/* 
  判断服务器上是否有upload目录，如果没有创建这个目录，如果有的话不做操作
 */

//  思路：使用stat检查upload是否存在，然后判断是否为目录
/* fs.stat("./upload", (err, data) => {
  if(err) {
    // upload不存在，执行创建目录
    mkDir("./upload");
    return
  }
  if(data.isDirectory()) {
    console.log("upload目录存在")
  } else {
    // upload不是目录，执行创建目录
    mkDir("./upload");
  }
})

function mkDir(dir) {
  fs.mkdir(dir, (err) => {
    if(err) {
      console.log(err);
      return
    }
    console.log("创建成功")
  })
} */



/* 
  wwwroot文件夹下有images js css 以及index.html, 找出wwwroot文件夹下的所有目录
  思路：使用readdir获取所有文件目录数组
        使用stat判断是否为目录
        注意异步的问题 async await
*/

async function isDir(path) {
  return new Promise((resolve, reject) => {
    fs.stat(path, (err, data) => {
      if(err) {
        console.log(err);
        reject(err);
        return
      }
      if(data.isDirectory()) {
        resolve(true);
      } else {
        resolve(false);
      }
    })
  })
}

function main() {
  const path = "./wwwroot";
  let dirArr = [];
  fs.readdir("./wwwroot", async (err, data) => {
    if(err) {
      console.log(err);
      return
    }
    for(var i = 0; i < data.length; i++) {
      if(await isDir(path+ "/" +data[i])) {
        dirArr.push(data[i])
      }
    }
    console.log(dirArr);
  })
}

main()
